As personal electronic devices, such as laptop computers, tablets, smartphones, or portable media players, become increasingly sophisticated, people are able to interact with such devices in new and interesting ways. For instance, many personal electronic devices are able to determine device motion along at least one axis. This can allow a user, for example, to switch the orientation of content being displayed by the device from portrait mode to landscape mode. Some devices are able to detect device motion along two axes, which can enable a user, for example, to navigate content being displayed on the device from left-to-right and/or up-down by tilting the device left-right or up-down, respectively. Still other devices are able to monitor device motion along three axes to provide even more complex user interactions. Some conventional approaches may only rely on data from inertial sensors, such as an accelerometer, gyroscope, inclinometer, magnetometer, or some combination thereof, to detect device motion. However, an accelerometer cannot measure yaw (also referred to as heading or azimuth) directly, and may be overly sensitive to motion. A gyroscope does not provide absolute references and a gyroscope's bias noise can substantially drift over time. A magnetometer may be limited to measurements along a single axis (e.g., yaw), and can be highly susceptible to noise from magnetic field effects of device components as well as external sources like large metallic structures in the environment.